package com.bz.backend.item.service.impl;

import com.bz.backend.item.feign.CommonItemFeignClient;
import com.bz.backend.item.service.ItemParamService;
import com.bz.pojo.TbItemParam;
import com.bz.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;

@Service
public class ItemParamServiceImpl implements ItemParamService {

    @Autowired
    private CommonItemFeignClient commonItemFeignClient;

    /**
     * 根据商品分类ID查询规格参数模板
     * @param itemCatId
     * @return
     */
    @Override
    public TbItemParam selectItemParamByItemCatId(Long itemCatId) {
        return commonItemFeignClient.selectItemParamByItemCatId(itemCatId);
    }

    /**
     * 分页查询所有商品规格参数模板
     * @param page
     * @param size
     * @return
     */
    @Override
    public Result selectItemParamAll(Integer page, Integer size) {
        return Result.ok(commonItemFeignClient.selectItemParamAll(page, size));
    }

    /**
     * 根据商品分类添加规格参数模板
     * @param itemCatId
     * @param paramData
     * @return
     */
    @Override
    public Result insertItemParam(Long itemCatId,String paramData) {
        TbItemParam tbItemParam = new TbItemParam();
        Date date = new Date();
        tbItemParam.setItemCatId(itemCatId);
        tbItemParam.setParamData(paramData);
        tbItemParam.setCreated(date);
        tbItemParam.setUpdated(date);
        Integer result = commonItemFeignClient.insertItemParam(tbItemParam);
        if (result != null){
            return Result.ok();
        }
        return Result.error("操作失败");
    }

    /**
     * 根据规格参数模板的ID删除数据
     * @param id
     * @return
     */
    @Override
    public Result deleteItemParamById(Long id) {
        Integer result = commonItemFeignClient.deleteItemParamById(id);
        if (result != null){
            return Result.ok();
        }
        return Result.error("操作失败");
    }
}
